#ifndef _IMU_TASK_H
#define _IMU_TASK_H

#include "FreeRTOS.h"
#include "task.h"
#include "mpu9250.h"
#include "inv_mpu.h"
#include "inv_mpu_dmp_motion_driver.h"
#include "compass.h"
#include "Ellipsoid_Fitting.h"
#include "semphr.h"
#include "portmacro.h"
#include "stack_macros.h"
#include "usart7.h"
#include "string.h"
//#include "SEGGER_RTT_printf.h"
#include "SEGGER_RTT.h"



typedef struct
{
	//Compass_Data_t *Compass;
	Compass_Data_t Compass_Data;
	float IMU_Pitch;
	float IMU_Roll;
	float IMU_Yaw;
	short IMU_Mag_X;
	short IMU_Mag_Y;
	short IMU_Mag_Z;
	short gyro_reg[3];
	short accel_reg[3];
	short compass_reg[3];
	uint16_t time;
	

}IMU_Data_t;


//信号量
extern QueueHandle_t Usart4_sem;

void Task_mpu9250_Create(void);


#endif
